package db

// 新建任务
func (m *MysqlStruct) NewJobStatus(j *JobStatus) error {
	//tx := m.Db.Begin()
	db := m.Db
	if err := db.Create(&j).Error;err!=nil{
		//tx.Rollback()
		return err
	}
	//tx.Commit()
	return nil
}
// 通过任务的id更新任务状态
func (m *MysqlStruct) UpdateJobStatusByJobId(id uint,updates map[string]interface{}) error {
	//db := m.Db.Begin()
	db := m.Db
	obj := JobStatus{}
	if err := db.Model(obj).Where("id = ?",id).Updates(updates).Error;err != nil{
		//db.Rollback()
		return err
	}
	//db.Commit()
	return nil
}

// 通过服务查询任务状态对象
func (m *MysqlStruct)GetJobStatusByServers(serverName string,j *[]JobStatus)  error {
	//tx := m.Db.Begin()
	db := m.Db
	return db.Where("server_name=?",serverName).Find(j).Error
	// find xx .limit(xx)
}

// 通过id取到任务的状态对象
func (m *MysqlStruct)GetJobStatusByJobId(id uint,status *JobStatus)error{
	//tx := m.Db.Begin()
	db := m.Db
	return db.Where("id=?",id).First(status).Error
}

// 分页查询，通过服务名
func (m *MysqlStruct)PageGetJobStatusByServers(pageSize,pageNum int ,serverName string,j *[]JobStatus)  error {
	//tx := m.Db.Begin()
	db := m.Db
	return db.Where("server_name=?",serverName).Limit(pageSize).Offset((pageNum-1)*pageSize).Find(j).Error
}

// 分页查询，通过服务名
func (m *MysqlStruct)PageGetJobStatus(pageSize,pageNum int ,j *[]JobStatus)  error {
	//tx := m.Db.Begin()
	db := m.Db
	return db.Limit(pageSize).Order("id desc").Offset((pageNum-1)*pageSize).Find(j).Error
}